#ifndef _CMD_H_
#define _CMD_H_
#include <stdbool.h>
#include <stdint.h>

typedef enum {
  CMD_OPERATION_ANGLE_K,
  CMD_OPERATION_ANGLE_P,
  CMD_OPERATION_ANGLE_I,
  CMD_OPERATION_ANGLE_D,
  CMD_OPERATION_SPEED_K,
  CMD_OPERATION_SPEED_P,
  CMD_OPERATION_SPEED_I,
  CMD_OPERATION_SPEED_D,
  CMD_OPERATION_NOTHING
} CMD_Operation_t;

typedef struct {
  CMD_Operation_t operation;
  float data;
} CMD_Send_t;

typedef struct {
  float roll_setpoint;
  float pitch_setpoint;
  float speed_x_setpoint;
  float speed_y_setpoint;
} CMD_Param_t;

bool CMD_PraseCommand(CMD_Send_t *cmd, uint8_t *data);
#endif
